package AprovadoReprovado;

class Cavalo implements Runnable {

   private String nome;
   private int passos = 1, colocacao;
   private static int contador = 1,
            qde_cavalos=0;
   private static Cavalo[] cavalos
      = new Cavalo[10];

   public Cavalo(String nome) {
      this.nome = nome;
      cavalos[qde_cavalos] = this;
      qde_cavalos++;
   }

   public static void imprime() {
      for (int i=0; i< qde_cavalos; i++) {
         System.out.print("\nCavalo "
         + cavalos[i].nome + " - "+" passos dados "+ ": ");
         for (int j=0; j< cavalos[i].passos; j++)
            System.out.print(j+" - ");
      }
      System.out.println();
   }

   public void run() {
      int tempo;
      while(true) {
         imprime();
         passos++;
         try {
            if (passos >= 51) {
               colocacao = contador++;
               System.out.println("Cavalo "+
                   nome+" - colocacao: "
                   +colocacao);
               break;
            }
            tempo = (int) (Math.random() * 500);
            Thread.sleep(tempo);
         }
   	 catch (InterruptedException e) { }
      }
   }
}